import { Directive, ElementRef, HostListener,Input } from '@angular/core';
import { NgControl, NgModel } from '@angular/forms';

@Directive({
  selector: 'input[inputNumber]',
  inputs: ['inputNumber']
})
export class InputLimitDirective {
  inputNumber: any;
  constructor(
    private el: ElementRef, 
    public ngControl: NgControl,
    public ngModel: NgModel
  ) { }

  // onkeypress(event) {

  // }

  @HostListener('input',['$event']) onInput(event) {
    // if(this.inputNumber || this.inputNumber===''){
    //   this.ngControl.control.patchValue(event.target.value.replace(/[^\d^\.]+/g,''));
    // }
    if(this.inputNumber == 'N_L'){
      let input = event.target;
      const cutValue = input.value.replace(/[^\d^\.]+/g,'');
      this.ngControl.control.patchValue(cutValue); // 如果用表单， 需要patchValue更新表单的值
      this.ngModel.viewToModelUpdate(cutValue); // 如果用ngModel，可以直接用viewToModelUpdate
    }else{
      this.ngControl.control.patchValue(event.target.value.replace(/[^\d^\.]+/g,''));
    }
    // let input = event.target;
    // if ((input.value.length) >= this.maxLength) {
    //   const cutValue = input.value.substr(0,this.inputLen);
    //   this.ngControl.control.patchValue(cutValue); // 如果用表单， 需要patchValue更新表单的值
    //   // this.ngModel.viewToModelUpdate(cutValue); // 如果用ngModel，可以直接用viewToModelUpdate
    // }
    // this.handle();
  }

  


}
